Speech enabling mechanisms have been developed that allow a user of a computer system to verbally communicate with the computer system. Examples of speech recognition products that convert speech into text strings that can be utilized by software applications on a computer system include the ViaVoice™ product from IBM®, Armonk, N.Y., and NaturallySpeaking Professional from Dragon Systems, Newton, Mass. In particular, a user may communicate through a microphone with a software application that displays output from the application in a window on the display screen of the computer system.
A computer can include a speech recognition or natural language processing system that receives or recognizes utterances and decides what to do with them. Traditionally, a number of such processing systems transform an utterance directly into script commands. For command and control systems, these utterances typically represent commands that require the system to take some form of action. An action typically consists of a call to one or more script functions which accomplishes something on the user's computer or elsewhere (e.g., on another computer over a network).
Other speech recognition systems typically treat interactions with a user as a form-filling exercise, or treat conversation as a script or decision tree walk. In a form-filling system, the system can accept utterances and respond to the user as long as the user speaks utterances that match the predetermined layout of the form. In a decision tree system, the system can accept utterances and respond as long as the user provides utterances that match those predefined for the decision tree and thus enable the user to move through the predetermined decision tree.